@@ -4,6 +4,7 @@ from __future__ import division |
||
| 4 | 4 |
|
| 5 | 5 |
from django_logit import logit |
| 6 | 6 |
from django_response import response |
| 7 |
+from paginator import pagination |
|
| 7 | 8 |
|
| 8 | 9 |
from maintenance.models import ExpressCompanyInfo |
| 9 | 10 |
from utils.error.errno_utils import ExpressStatusCode |
@@ -48,9 +49,14 @@ def express_update(request): |
||
| 48 | 49 |
|
| 49 | 50 |
@logit |
| 50 | 51 |
def express_list(request): |
| 52 |
+ page = request.POST.get('page', 1)
|
|
| 53 |
+ num = request.POST.get('num', 20)
|
|
| 54 |
+ |
|
| 51 | 55 |
express = ExpressCompanyInfo.objects.filter(status=True) |
| 52 | 56 |
express = [exp.data for exp in express] |
| 57 |
+ express, left = pagination(express, page, num) |
|
| 53 | 58 |
|
| 54 | 59 |
return response(data={
|
| 55 | 60 |
'express': express, |
| 61 |
+ 'left': left, |
|
| 56 | 62 |
}) |
@@ -4,6 +4,7 @@ from __future__ import division |
||
| 4 | 4 |
|
| 5 | 5 |
from django_logit import logit |
| 6 | 6 |
from django_response import response |
| 7 |
+from paginator import pagination |
|
| 7 | 8 |
|
| 8 | 9 |
from maintenance.models import MaintenacePointInfo |
| 9 | 10 |
from utils.error.errno_utils import MaintenacePointStatusCode |
@@ -60,9 +61,14 @@ def maintenance_point_update(request): |
||
| 60 | 61 |
|
| 61 | 62 |
@logit |
| 62 | 63 |
def maintenance_point_list(request): |
| 64 |
+ page = request.POST.get('page', 1)
|
|
| 65 |
+ num = request.POST.get('num', 20)
|
|
| 66 |
+ |
|
| 63 | 67 |
points = MaintenacePointInfo.objects.filter(status=True) |
| 64 | 68 |
points = [point.data for point in points] |
| 69 |
+ points, left = pagination(points, page, num) |
|
| 65 | 70 |
|
| 66 | 71 |
return response(data={
|
| 67 | 72 |
'points': points, |
| 73 |
+ 'left': left, |
|
| 68 | 74 |
}) |
@@ -2,10 +2,13 @@ |
||
| 2 | 2 |
|
| 3 | 3 |
from __future__ import division |
| 4 | 4 |
|
| 5 |
+from django.conf import settings |
|
| 5 | 6 |
from django_logit import logit |
| 6 | 7 |
from django_response import response |
| 8 |
+from paginator import pagination |
|
| 7 | 9 |
|
| 8 | 10 |
from maintenance.models import MaintenaceInfo |
| 11 |
+from utils.admin_utils import is_maintenanceman |
|
| 9 | 12 |
from utils.error.errno_utils import MaintenaceStatusCode |
| 10 | 13 |
|
| 11 | 14 |
|
@@ -44,16 +47,27 @@ def maintenance_add(request): |
||
| 44 | 47 |
|
| 45 | 48 |
@logit |
| 46 | 49 |
def maintenance_delete(request): |
| 50 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 47 | 51 |
maintenace_id = request.POST.get('maintenace_id', '')
|
| 48 | 52 |
user_id = request.POST.get('user_id', '')
|
| 49 | 53 |
|
| 50 |
- MaintenaceInfo.objects.filter(id=maintenace_id, user_id=user_id).update(status=False) |
|
| 54 |
+ try: |
|
| 55 |
+ maintenace = MaintenaceInfo.objects.get(id=maintenace_id, status=True) |
|
| 56 |
+ except MaintenaceInfo.DoesNotExist: |
|
| 57 |
+ return response(MaintenaceStatusCode.MAINTENACE_NOT_FOUND) |
|
| 58 |
+ |
|
| 59 |
+ if not is_maintenanceman(brand_id, user_id) and user_id != maintenace.user_id: |
|
| 60 |
+ return response(MaintenaceStatusCode.MAINTENACE_PERMISSION_DENIED) |
|
| 61 |
+ |
|
| 62 |
+ maintenace.status = False |
|
| 63 |
+ maintenace.save() |
|
| 51 | 64 |
|
| 52 | 65 |
return response() |
| 53 | 66 |
|
| 54 | 67 |
|
| 55 | 68 |
@logit |
| 56 | 69 |
def maintenance_update(request): |
| 70 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 57 | 71 |
maintenace_id = request.POST.get('maintenace_id', '')
|
| 58 | 72 |
user_id = request.POST.get('user_id', '')
|
| 59 | 73 |
name = request.POST.get('name', '')
|
@@ -68,10 +82,13 @@ def maintenance_update(request): |
||
| 68 | 82 |
maintenace_status = request.POST.get('maintenace_status', '')
|
| 69 | 83 |
|
| 70 | 84 |
try: |
| 71 |
- maintenace = MaintenaceInfo.objects.get(id=maintenace_id, user_id=user_id, status=True) |
|
| 85 |
+ maintenace = MaintenaceInfo.objects.get(id=maintenace_id, status=True) |
|
| 72 | 86 |
except MaintenaceInfo.DoesNotExist: |
| 73 | 87 |
return response(MaintenaceStatusCode.MAINTENACE_NOT_FOUND) |
| 74 | 88 |
|
| 89 |
+ if not is_maintenanceman(brand_id, user_id) and user_id != maintenace.user_id: |
|
| 90 |
+ return response(MaintenaceStatusCode.MAINTENACE_PERMISSION_DENIED) |
|
| 91 |
+ |
|
| 75 | 92 |
if name: |
| 76 | 93 |
maintenace.name = name |
| 77 | 94 |
if phone: |
@@ -99,11 +116,32 @@ def maintenance_update(request): |
||
| 99 | 116 |
|
| 100 | 117 |
@logit |
| 101 | 118 |
def maintenance_list(request): |
| 119 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 102 | 120 |
user_id = request.POST.get('user_id', '')
|
| 121 |
+ page = request.POST.get('page', 1)
|
|
| 122 |
+ num = request.POST.get('num', 20)
|
|
| 103 | 123 |
|
| 104 |
- maintenaces = MaintenaceInfo.objects.filter(user_id=user_id, status=True) |
|
| 124 |
+ maintenaces = MaintenaceInfo.objects.filter(status=True) |
|
| 125 |
+ if not is_maintenanceman(brand_id, user_id): |
|
| 126 |
+ maintenaces = maintenaces.filter(user_id=user_id) |
|
| 105 | 127 |
maintenaces = [maintenace.data for maintenace in maintenaces] |
| 128 |
+ maintenaces, left = pagination(maintenaces, page, num) |
|
| 106 | 129 |
|
| 107 | 130 |
return response(data={
|
| 108 | 131 |
'maintenaces': maintenaces, |
| 132 |
+ 'left': left, |
|
| 133 |
+ }) |
|
| 134 |
+ |
|
| 135 |
+ |
|
| 136 |
+@logit |
|
| 137 |
+def maintenance_detail(request): |
|
| 138 |
+ maintenace_id = request.POST.get('maintenace_id', '')
|
|
| 139 |
+ |
|
| 140 |
+ try: |
|
| 141 |
+ maintenace = MaintenaceInfo.objects.get(id=maintenace_id, status=True) |
|
| 142 |
+ except MaintenaceInfo.DoesNotExist: |
|
| 143 |
+ return response(MaintenaceStatusCode.MAINTENACE_NOT_FOUND) |
|
| 144 |
+ |
|
| 145 |
+ return response(data={
|
|
| 146 |
+ 'maintenace': maintenace.data, |
|
| 109 | 147 |
}) |
@@ -270,4 +270,5 @@ urlpatterns += [ |
||
| 270 | 270 |
url(r'^maintenance/delete$', maintenance_views.maintenance_delete, name='maintenance_delete'), |
| 271 | 271 |
url(r'^maintenance/update$', maintenance_views.maintenance_update, name='maintenance_update'), |
| 272 | 272 |
url(r'^maintenance/list$', maintenance_views.maintenance_list, name='maintenance_list'), |
| 273 |
+ url(r'^maintenance/detail$', maintenance_views.maintenance_detail, name='maintenance_detail'), |
|
| 273 | 274 |
] |
@@ -144,20 +144,6 @@ DATABASES = {
|
||
| 144 | 144 |
# ALTER TABLE account_wechatinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
| 145 | 145 |
# account.UserInfo ==> nickname |
| 146 | 146 |
# ALTER TABLE account_userinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
| 147 |
- # group.GroupUserInfo ==> nickname |
|
| 148 |
- # ALTER TABLE group_groupuserinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL; |
|
| 149 |
- # group.GroupPhotoInfo ==> nickname |
|
| 150 |
- # ALTER TABLE group_groupphotoinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL; |
|
| 151 |
- # group.PhotoCommentInfo ==> nickname |
|
| 152 |
- # ALTER TABLE group_photocommentinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL; |
|
| 153 |
- # group.PhotoThumbUpInfo ==> nickname |
|
| 154 |
- # ALTER TABLE group_photothumbupinfo MODIFY COLUMN nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL; |
|
| 155 |
- # group.UserMessageInfo ==> nickname |
|
| 156 |
- # ALTER TABLE message_usermessageinfo MODIFY COLUMN from_nickname VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL; |
|
| 157 |
- # |
|
| 158 |
- # Comment |
|
| 159 |
- # group.PhotoCommentInfo ==> comment |
|
| 160 |
- # ALTER TABLE group_photocommentinfo MODIFY COLUMN comment LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
|
| 161 | 147 |
'charset': 'utf8mb4', |
| 162 | 148 |
}, |
| 163 | 149 |
} |
@@ -534,7 +534,7 @@ class MaintenancemanInfo(BaseModelMixin, SexModelMixin): |
||
| 534 | 534 |
|
| 535 | 535 |
class Meta: |
| 536 | 536 |
verbose_name = _(u'维修员信息') |
| 537 |
- verbose_name_plural = _(u'维修员信息信息') |
|
| 537 |
+ verbose_name_plural = _(u'维修员信息') |
|
| 538 | 538 |
|
| 539 | 539 |
unique_together = ( |
| 540 | 540 |
('maintenance_phone', 'brand_id'),
|
@@ -1,18 +1,7 @@ |
||
| 1 | 1 |
# -*- coding: utf-8 -*- |
| 2 | 2 |
|
| 3 |
-from group.models import GroupInfo, GroupUserInfo |
|
| 4 |
-from TimeConvert import TimeConvert as tc |
|
| 3 |
+from mch.models import MaintenancemanInfo |
|
| 5 | 4 |
|
| 6 | 5 |
|
| 7 |
-def is_group_admin(group_id, admin_id): |
|
| 8 |
- return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, admin=True, admin_status=True, status=True).exists() |
|
| 9 |
- |
|
| 10 |
- |
|
| 11 |
-def is_group_subadmin(group_id, admin_id): |
|
| 12 |
- return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, subadmin=True, admin_status=True, status=True).exists() |
|
| 13 |
- |
|
| 14 |
- |
|
| 15 |
-def have_active_group(user_id): |
|
| 16 |
- groups = GroupUserInfo.objects.filter(user_id=user_id, subadmin=True, admin_status=True, status=True) |
|
| 17 |
- groupids = [group.group_id for group in groups] |
|
| 18 |
- return GroupInfo.objects.filter(group_id__in=groupids, group_closed=False, status=True, ended_at__gt=tc.utc_datetime()).exists() |
|
| 6 |
+def is_maintenanceman(brand_id, user_id): |
|
| 7 |
+ return MaintenancemanInfo.objects.filter(brand_id=brand_id, user_id=user_id, status=True).exists() |
@@ -121,6 +121,7 @@ class ExpressStatusCode(BaseStatusCode): |
||
| 121 | 121 |
class MaintenaceStatusCode(BaseStatusCode): |
| 122 | 122 |
""" 维修相关错误码 5080xx """ |
| 123 | 123 |
MAINTENACE_NOT_FOUND = StatusCodeField(508001, 'Maintenace Not Found', description=u'维修不存在') |
| 124 |
+ MAINTENACE_PERMISSION_DENIED = StatusCodeField(508002, 'Maintenace Permission Denied', description=u'维修权限不足') |
|
| 124 | 125 |
|
| 125 | 126 |
|
| 126 | 127 |
class AdministratorStatusCode(BaseStatusCode): |